package controllers

import (
	beego "github.com/beego/beego/v2/server/web"
	"strconv"
)

type BaseController struct {
	beego.Controller
}

type ErrorMsg struct {
	Code int    `json:"code,omitempty"`
	Msg  string `json:"msg,omitempty" json:"msg,omitempty"`
}

func (ctrl *BaseController) ErrorView(msg ErrorMsg) {

	ctrl.Data["data"] = msg
	ctrl.Abort(strconv.Itoa(msg.Code))
	return

}

func (ctrl *BaseController) ErrorFormat(err interface{}) string {

	switch v := err.(type) {
	case error:
		return v.Error()
	default:
		return v.(string)
	}

}
